- Опубликовано
Синхронное обновление чекбоксов через API
- Автор
- Имя
- Счастливый тимлид | ♥ Frontend
- Telegram
- Счастливый тимлид | ♥ Frontend2204 подписчика692 поста
Коллеги, прямое включение с груминга. Сейчас расскажу как одно упущение в контракте API может привести к усложнению разработки и тестирования, костылям и куче лишнего кода.
Представьте: необходимо реализовать список с чекбоксами. Каждый раз, когда пользователь меняет состояние чекбокса, вы должны отправить на сервер запрос с ID этого элемента и в ответ получите его обновлённое состояние. Заметьте, по техническому заданию, включённые чекбоксы должны быть наверху списка, а выключенные — внизу. Как будете решать такую задачу?
Думаю на ум приходит что-то такое: после получения нового состояния элемента обновить его на клиенте, пересортировать список, а чтобы избежать рассинхрона с сервером — сделать дополнительный запрос на обновление всего списка. Звучит логично! Но вот что ещё идет в комплекте с этим решением: лишний код, возможные баги, да и целая куча ненужных запросов.
Есть другой путь. Договариваемся, что на каждое изменение сервер возвращает вам сразу весь список с актуальным состоянием и порядком. Тогда:
Клиент после каждого изменения получает актуальные данные
Состояние на клиенте после каждого запроса синхронизируется с состоянием на сервере
На клиенте практически отсутствует логика, а значит и баги. Заменить старое состояние на новое сможет даже джун.
Реализация проще, а значит быстрее. Менеджер будет доволен.
Выглядит круто, не так ли?
Безусловно, это решение подойдёт не всегда: если у вас большой массив данных или оооочень частые обновления, то возвращать каждый раз полное состояние может оказаться не ок.
А как сделано у вас на проекте?
Предыдущий пост
- Опубликовано
вытащил молочный зуб у сына без боли
Следующий пост
- Опубликовано
Не всё зависит от тебя
Закрепленные
Из подборки #frontend
- Опубликовано
Как сделать страницу с халявой и промокодами
- Опубликовано
Встречайте геймификацию в комментах
- Опубликовано
Когда проще завайбкодить чем нагуглить
- Опубликовано
Телеграмовский сосун (или какун, как правильно?)
- Опубликовано
Итоги
- Опубликовано
Поделитесь вашими любимыми мемами уходящего года
Свежие посты
- Опубликовано
Как сделать страницу с халявой и промокодами
- Опубликовано
Встречайте геймификацию в комментах
- Опубликовано
Когда проще завайбкодить чем нагуглить
- Опубликовано
весёлая дискуссия в канале Деплой о резюме
- Опубликовано
Жизнь по скраму
- Опубликовано
не забудь завести будильник
- Опубликовано
Каникулы в регионе без интернета
- Опубликовано



